/*
  音符消除
  题目背景
    在音乐制作中，节奏是构成音乐的基本元素之一。
    音乐家们使用不同的音符来创作旋律，其中正拍（'+'）和反拍（'-'）是构成节奏的基础。
    在一首乐曲中，音符序列的记录可以表示为一个由正负号组成的字符串 S。
  题目描述
    音乐制作人小 y 正在构想一首乐曲的乐段数量。
    他有一串由正拍（'+'）和反拍（'-'）组成的音符序列 S，长度为 n。
    为了使乐曲更加和谐，要求每个乐段的开头音符与末尾音符不相同。

    问: 小 y 最少可以将这首乐曲分成多少个乐段？
       如果无法划分，输出 "-1" 即可。
    例如：
      +++---，可以分成一个乐段。
      ++--++，可以分成两个乐段。
      ++-++，无法划分。
      +--++--+，最少分成两个乐段，"+-" 和 "-++--+" 即可
  输入格式
    第一行一个整数 T，表示测试用例数量。
    对于每组数据：
      第一行包含一个整数 n，表示乐曲的音符数量。
      第二行一个长度为 n 的字符串 S，表示音符序列。
  输出格式
    输出 T 行，每行一个整数，表示划分的最少乐段数量。
  输入数据 1
    5
    6
    +++---
    6
    ++--++
    5
    ++-++
    8
    +--++--+
    10
    ++--++++++
  输出数据 1
    1
    2
    -1
    2
    2
  提示
    嘿嘿，大家可以试着自己来构造不同数量的乐段。是否存在最少分成三个或者四个乐段的情况呢~~
   【数据范围】
      测试点比例   T≤      n≤
         30%       2      1
                   4      2
                   8      3
         40%      100     6
         30%      100
*/